{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 分别使用 岭回归 和 Lasso回归 对数据集进行训练 预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 555,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "from sklearn.linear_model import  RidgeCV\n",
    "from sklearn.linear_model import LassoCV\n",
    "from sklearn import metrics\n",
    "from sklearn.metrics import r2_score  \n",
    "\n",
    "from sklearn import preprocessing\n",
    "from sklearn.preprocessing import Normalizer\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "from sklearn.model_selection import learning_curve\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 556,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data= pd.read_csv(\"Dataset/train.csv\")\n",
    "test_data= pd.read_csv(\"Dataset/test.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 557,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 特征与标签值进行分离\n",
    "train_data_y = train_data.cnt.values\n",
    "train_data_x = train_data.drop(['cnt','instant'],axis=1)\n",
    "\n",
    "test_data_y = test_data.cnt.values\n",
    "test_data_x = test_data.drop(['cnt','instant'],axis=1)\n",
    "\n",
    "# 由于2011和2012标签值数值范围都有较大的出入,且2012年整体数值就偏大,所以先对标签值进行归一化\n",
    "train_y = Normalizer().fit_transform(train_data_y.reshape(1, -1)).reshape(-1,1)\n",
    "test_y =  Normalizer().fit_transform(test_data_y.reshape(1, -1)).reshape(-1,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 558,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 特征值预处理\n",
    "'''\n",
    "    对特征值中的连续特征值归一化处理 Normalizer()\n",
    "    对离散特征值 one-hot 编码 OneHotEncoder()\n",
    "'''\n",
    "num_columns = ['temp', 'hum', 'windspeed']\n",
    "# 连续特征值\n",
    "c_train_data_x = train_data_x.loc[:, num_columns]\n",
    "c_test_data_x = test_data_x.loc[:, num_columns]\n",
    "# 离散特征值 \n",
    "d_train_data_x = train_data_x.drop(num_columns,axis=1)\n",
    "d_test_data_x = test_data_x.drop(num_columns,axis=1)\n",
    "\n",
    "\n",
    "train_data_x = Normalizer().fit_transform(c_train_data_x)\n",
    "test_data_x = Normalizer().fit_transform(c_test_data_x)\n",
    "\n",
    "_train_data_x = OneHotEncoder().fit_transform(d_train_data_x).toarray()\n",
    "_test_data_x = OneHotEncoder().fit_transform(d_test_data_x).toarray()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 559,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 合并特征值\n",
    "train_x = np.concatenate((_train_data_x,np.array(train_data_x)),axis=1)\n",
    "test_x = np.concatenate((_test_data_x,np.array(test_data_x)),axis=1)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 岭回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 560,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The R2 score of train dataset : 0.8129338243715121\n",
      "The R2 score of test dataset: 0.7069198912362509\n"
     ]
    }
   ],
   "source": [
    "# 初始化超参数\n",
    "alphas = np.linspace(0.01, 0.05)\n",
    "\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)  \n",
    "\n",
    "# 训练\n",
    "ridge.fit(train_x, train_y)    \n",
    "\n",
    "# 预测\n",
    "train_y_pred_ridge = ridge.predict(train_x)\n",
    "test_y_pred_ridge = ridge.predict(test_x) \n",
    "\n",
    "# 评估性能\n",
    "print('The R2 score of train dataset :', r2_score(train_y, train_y_pred_ridge))\n",
    "print('The R2 score of test dataset:', r2_score(test_y, test_y_pred_ridge) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 561,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x11b7fab70>"
      ]
     },
     "execution_count": 561,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c8eab38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在训练集上观察预测残差的分布，看是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f, ax = plt.subplots(figsize=(6, 3)) \n",
    "f.tight_layout() \n",
    "ax.hist(train_y - train_y_pred_ridge,bins=40, label='Residuals Linear', color='y', alpha=.6)\n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 562,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x119c95588>"
      ]
     },
     "execution_count": 562,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\naxZf/vKXGTFixF7zH374YVasWMH999/f4m0C9O7dm5qamoLWnTBhAvfccw+VlZX181asWMEjjzzC\nfffd16r9p+DhODPrMg4++GBWrVrFK6+8Qr9+/Zg7d26rtvPggw/uE0DtQWVlZZsH0O7du0u6PYeQ\nmXVJ48ePp7q6uv753XffzZgxYzjttNO4/fbbAdixYweTJ0/m9NNP59RTT2XhwtzNdydMmFB/CbLv\nfe97nHjiiYwdO5bnnnuufnvTp09n0aJF9c979+4NQE1NDRMnTuSMM85g5MiRPPnkk/vUtmnTJs45\n5xxGjRrFqaeeys9+9rOC2rRs2TKmTJkCwJw5c5gxYwYTJkzg2GOP3SucHn30UcaOHcuoUaO49tpr\n64Pluuuuo7KyklNOOaX+PYDcJdduvPFGzjjjDH74wx8WVEuhPBxnZl3O7t27WbJkCTNnzgTgmWee\nYd26dbzwwgtEBBdffDHLly9n69atHHnkkTz11FMAfPDBB3ttZ9OmTdx+++1UVVXRp08fzj33XEaP\nHr3ffffo0YMf/ehHHHroobz77ruMGzeOiy++eK+D/D/4wQ+YNGkSt956K7t37+ajjz5qVTtfe+01\nli5dyocffsjw4cO57rrrWL9+PQsXLuS5556joqKC66+/ngULFnD11Vdz55130q9fP3bv3s3EiRN5\n6aWXOO200wDo378/K1eubFUd++MQMrMu4+OPP2bUqFFUV1dz8sknc/755wO5EHrmmWfqA6SmpoZ1\n69Zx9tln85WvfIUbb7yRKVOmcPbZZ++1veeff54JEyYwYEDugtGXXXYZv/71r/dbQ0Rwyy23sHz5\ncg444ACqq6vZvHkzRxxxRP06Y8aMYcaMGezatYupU6cyatSoVrV38uTJdO/ene7duzNw4EA2b97M\nkiVLqKqqYsyYMfXvycCBAwF44oknmDdvHrW1tWzatIlXX321PoQuu+yyVtXQHA/HmVmXUXdMaMOG\nDURE/TGhiODmm29m1apVrFq1ivXr1zNz5kxOPPFEVq5cyciRI7ntttv42te+VvC+DjzwQPbs2QPA\nnj17+PTTTwFYsGABW7dupaqqilWrVjFo0KB9fmtzzjnnsHz5co466iimT5/OI4880qr2du/evX66\nW7du1NbWEhFMmzatvq1r165lzpw5vPHGG9xzzz0sWbKEl156icmTJ+9VV69evVpVQ3McQmbW5fTs\n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\ne5CTg2pGpQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11baccd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在测试集上观察预测残差的分布，看是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f, ax = plt.subplots(figsize=(6, 3)) \n",
    "f.tight_layout() \n",
    "ax.hist(test_y - test_y_pred_ridge,bins=40, label='Residuals Linear', color='y', alpha=.6)\n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 563,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nf0sr0FpbQGorAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b70d320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best alpha: 0.0426530612244898\n"
     ]
    }
   ],
   "source": [
    "# 参数可视化\n",
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "\n",
    "plt.plot(alphas, mse_mean.reshape(len(alphas),1))\n",
    "plt.xlabel('alpha')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('best alpha:', ridge.alpha_)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 参数 alpha 的最佳取值在 0.0426530612244898 ≈ 0.04"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lasso回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 564,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The R2 score of train dataset : 0.8113367070985658\n",
      "The R2 score of test dataset: 0.7021407546903575\n"
     ]
    }
   ],
   "source": [
    "# alphas = np.linspace(0, 0.05)\n",
    "\n",
    "lasso = LassoCV()  \n",
    "\n",
    "#训练\n",
    "lasso.fit(train_x,train_y)  \n",
    "\n",
    "#预测\n",
    "train_y_pred_lasso = lasso.predict(train_x)\n",
    "test_y_pred_lasso = lasso.predict(test_x) \n",
    "\n",
    "\n",
    "# 评估性能\n",
    "print('The R2 score of train dataset :', r2_score(train_y, train_y_pred_lasso) )\n",
    "print('The R2 score of test dataset:', r2_score(test_y, test_y_pred_lasso) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 573,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11cad16a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha is: 3.687752981242301e-05\n"
     ]
    }
   ],
   "source": [
    "# 参数可视化\n",
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(lasso.alphas_, mses) \n",
    "plt.xlabel('alpha')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 参数 alpha 最优取值无限接近0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 572,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11cb6b438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig=plt.figure(figsize=(12,4))\n",
    "\n",
    "plt.subplot(121)\n",
    "plt.plot(range(train_y.shape[0]),train_y_pred_ridge,'o',color = 'r',label = 'training')\n",
    "plt.plot(range(test_y.shape[0]),test_y_pred_ridge,'',color = 'g',label = 'testing')\n",
    "plt.title('ridgecv')\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.plot(range(train_y.shape[0]),train_y_pred_lasso,'o',color = 'b',label = 'training')\n",
    "plt.plot(range(test_y.shape[0]),test_y_pred_lasso,'',color = 'r',label = 'testing')\n",
    "plt.title('lassocv')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 571,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Parameters</th>\n",
       "      <th>TEST</th>\n",
       "      <th>TRAIN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>RidgeCV</th>\n",
       "      <td>R2 score</td>\n",
       "      <td>0.706920</td>\n",
       "      <td>0.812934</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LassoCV</th>\n",
       "      <td>R2 score</td>\n",
       "      <td>0.702141</td>\n",
       "      <td>0.811337</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Parameters      TEST     TRAIN\n",
       "RidgeCV   R2 score  0.706920  0.812934\n",
       "LassoCV   R2 score  0.702141  0.811337"
      ]
     },
     "execution_count": 571,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r2_train = [r2_score(train_y, train_y_pred_ridge),r2_score(train_y, train_y_pred_lasso)]\n",
    "r2_test = [r2_score(test_y, test_y_pred_ridge),r2_score(test_y, test_y_pred_lasso)]\n",
    "pd.DataFrame({'Parameters':'R2 score',\n",
    "              'TRAIN':r2_train,'TEST':r2_test},\n",
    "            index = ['RidgeCV','LassoCV'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 由上所示,预测数据和标签值之间拟合得不错,测试集和训练集之间有0.11左右的差值,猜测可能是选取的特征组合中不能完全表达数据和特征的相关性,可能存在其他因素影响共享单车的使用数据,设置一些非线性因素,如果要进一步预测数据,可以用 DNN 回归模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
